home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2009 February / PCWFEB09.iso / Software / Resources / Backup, Restoration & File Management / SyncBack SE 5.1 / SyncBackSE_Setup.exe / {app} / DeSpace.vbs < prev    next >
Text File  |  2007-11-21  |  2KB  |  63 lines

  1. ' DeSpace.VBS written by Dave Wilkins 2007
  2.  
  3. ' used to exchange spaces for underscores in file & folder names
  4. ' in a path starting from (but not including) the folder shown.
  5.  
  6. ' Typically this would be used in Programs -Before to prepare a file
  7. ' set For backup to an FTP server (or similar) which did not support
  8. ' filesnames containing spaces. A complementary script (ReSpace.VBS)
  9. ' is supplied to revert files back to their old filenames if req'd. 
  10. ' This complementary script would be placed in Programs - After
  11.  
  12. ' Note that any pre-existing underscores in filenames will be turned
  13. ' into spaces by ReSpace.VBS, if used, ie
  14.  
  15. ' original: My File_Name.ext
  16. ' DeSpaced: My_File_Name.ext
  17. ' ReSpaced: My File Name.ext
  18.  
  19. RootFolder = "X:\ROOT_FOLDER"
  20.  
  21. 'OR
  22.  
  23. ' Set objArgs = WScript.Arguments
  24. ' RootFolder = objArgs.Item(0) 
  25. ' note that any path argument with spaces must be wrapped in " "
  26.  
  27. RootFolder = RTB(RootFolder) ' remove trailing backslash (if any)
  28.  
  29. Set FSO = CreateObject("Scripting.FileSystemObject")
  30. Set Folders = FSO.GetFolder(RootFolder)
  31.  
  32. Recurse Folders
  33.  
  34. ' < = < =< = < = end of main logioc / start of subs & functions = > = > = > = >
  35.  
  36. Sub Recurse (ByRef Folders)
  37.  
  38.   : Set SubFolders = Folders.SubFolders
  39.    Set Files = Folders.Files
  40.    
  41.    For Each File In Files
  42.        Temp = Replace(File.Name, " ", "_")
  43.        If File.Name <> Temp Then File.Name = Temp
  44.    Next
  45.  
  46.    For Each SubFolder In SubFolders
  47.        Temp = Replace(SubFolder.Name, " ", "_")
  48.        If SubFolder.Name <> Temp Then SubFolder.Name = Temp
  49.        Recurse SubFolder
  50.    Next
  51.  
  52. End Sub
  53.  
  54. Function RTB(sPath) ' Remove Trailing Backslash (from) Path in question
  55.  
  56.     Len_sPath = Len(sPath)
  57.     If Right(sPath, 1) = "\" Then    
  58.         sPath = Left(sPath, Len_sPath-1) 
  59.     End If
  60.     RTB = sPath
  61.  
  62. End Function
  63.